#ifndef BITMAPIMAGE_H
#define BITMAPIMAGE_H

struct bmpMagic{
    unsigned char magic[2];
};

struct bmpHeader{
    int size;
    short int creator1;
    short int creator2;
    int offset;
};

struct bmpInfo{
    unsigned long header_sz;
    long width;
    long height;
    unsigned int nplanes;
    unsigned int bitspp;
    unsigned long compress_type;
    unsigned long bmp_bytesz;
    long hres;
    long vres;
    unsigned long ncolors;
    unsigned long nimpcolors;
};

class BitmapImage{
    public:
        BitmapImage(int width, int height, unsigned char* data){ this->width = width; this->height = height; this->data = data; }
        unsigned char* GetData(){ return data; }
        int Height(){ return height; }
        int Width(){ return width; }
    protected:
        int width;
        int height;
        unsigned char* data;
};
#endif
